﻿// 星期四练习.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
	int arr[] = { 1,2,3,5,8,4,10,7 };
	//建立一个新的空白数组，brr[strlen(arr)]
	//双指针遍历数组，p指针从前往后找偶数，q指针从后往前找奇数

	//交换奇数和偶数
	//直到p=q，即两个指针重叠时，停止遍寻。
	//打印数组arr。
	int l = sizeof arr / sizeof(arr[0]);
	int* p = arr;
	int* q = arr + l - 1;
	while (p < q)
	{
		if ((*p & 0x1) == 1)//奇数
		{
			p++;//继续找偶数
			continue;
		}
		if ((*q & 0x1) == 0)//偶数
		{
			q--;
			continue;
		}
		int tmp = *p;
		*p = *q;
		*q = tmp;
	}
	for (int i = 0; i < l; i++)
	{
		printf("%d ", arr[i]);
	}
}
